Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perception publish tags as a world pose #25

Merged
merged 19 commits into from
Jun 18, 2022
Merged

Perception publish tags as a world pose #25

merged 19 commits into from
Jun 18, 2022

Conversation

qhdwight
Copy link
Collaborator

@qhdwight qhdwight commented May 19, 2022

Closes #18

Copy link
Member

@niwhsa9 niwhsa9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks fine

src/perception/aruco_detect.hpp Outdated Show resolved Hide resolved
@qhdwight qhdwight marked this pull request as ready for review June 13, 2022 07:10
@qhdwight
Copy link
Collaborator Author

  • Adds very basic SE3 implantation for C++
  • Stores fiducial information in tf tree under odom/fiducial#
  • Information is persistent and remains even if going off screen

@rbridges12
Copy link
Collaborator

I thought we weren't gonna make SE3 inherit from Pose, also we should make sure the python and cpp interfaces are identical

@qhdwight
Copy link
Collaborator Author

I thought we weren't gonna make SE3 inherit from Pose, also we should make sure the python and cpp interfaces are identical

Yes I agree on both points. How do you suggest we store information for the former? IIRC we were going to use a 3 tuple and a 4 tuple for position and rotation.

src/perception/se3.hpp Outdated Show resolved Hide resolved
Copy link
Member

@niwhsa9 niwhsa9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work. Looks good, mostly nits, a few substantial things. Would also like to see some more detail on the wiki for the logic of this code

launch/percep.launch Show resolved Hide resolved
src/gazebo/differential_drive_6w.cpp Show resolved Hide resolved
src/gazebo/differential_drive_6w.hpp Show resolved Hide resolved
src/perception/aruco_detect.hpp Show resolved Hide resolved
src/perception/aruco_detect.hpp Show resolved Hide resolved
src/perception/aruco_processing.cpp Show resolved Hide resolved
src/perception/aruco_processing.cpp Show resolved Hide resolved
src/perception/aruco_processing.cpp Outdated Show resolved Hide resolved
src/perception/aruco_processing.cpp Outdated Show resolved Hide resolved
src/perception/aruco_processing.cpp Show resolved Hide resolved
Copy link
Contributor

@CameronTressler CameronTressler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, looks good to me, though I'm still learning about ROS and percep code. Can give another pass after you've addressed the rest of Ashwin's comments

launch/nav.launch Show resolved Hide resolved
launch/percep.launch Show resolved Hide resolved
src/gazebo/differential_drive_6w.hpp Show resolved Hide resolved
src/perception/aruco_processing.cpp Show resolved Hide resolved
src/perception/filter.hpp Outdated Show resolved Hide resolved
@qhdwight
Copy link
Collaborator Author

qhdwight commented Jun 14, 2022

#25 (comment)

For some reason I can't respond to this inline, but yes exactly - the point was to just show that those topics were being used.

I actually think we should enforce this, that is something I would like to discuss.

src/perception/se3.hpp Outdated Show resolved Hide resolved
@qhdwight
Copy link
Collaborator Author

Okay so I made some major changes to the way all the transform stuff is calculated, much better now imho.

It only uses the tf tree for calculations and avoids any manual matrix manipulation.

The SE3 class is more flushed out now.

Copy link
Member

@niwhsa9 niwhsa9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good but still won't work with real ZED until you get Jason's fix

@niwhsa9 niwhsa9 requested a review from rbridges12 June 18, 2022 04:30
Copy link
Collaborator

@rbridges12 rbridges12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SE3 implementation here is good enough for now until we figure out the interface fully, we can push the thing about remap in launch files to #43

@qhdwight qhdwight requested a review from rbridges12 June 18, 2022 04:33
@qhdwight qhdwight merged commit cd93daf into master Jun 18, 2022
@qhdwight qhdwight deleted the percep-tags branch June 18, 2022 05:35
qhdwight added a commit to qhdwight/mrover that referenced this pull request Jul 9, 2022
* Refactor perception

* Continue working on sending tags as pose

* Remove marker msg, use vectors instead

* Rename member variables, move to using a struct

* Revert changes b/c clion thought it was too smart

* Use map instead of vector so we can keep track even if they go out of sight

* Fix launch files, remove dead code

* Split processing into separate file

* Add SE3, add filter, slightly modify clang format, restructure perception

* Filtered positioning for arucos in 3D space working, refactoring

* Fix formatting

* Refactor out SE3 transform function

* Add more to SE3, continue refactor

* Name median mean filter, cleanup se3 names

* Use eigen for implementation of se3

* Use tf tree instead of matrix multiplication

* Minor documentation

* Update README.md
tabiosg added a commit that referenced this pull request Jul 11, 2022
* Update CMakeLists.txt

* Add msg/ files into CMakeLists.txt

* delete vscode

Co-authored-by: wilchen <[email protected]>
qhdwight added a commit to qhdwight/mrover that referenced this pull request Aug 8, 2022
* Refactor perception

* Continue working on sending tags as pose

* Remove marker msg, use vectors instead

* Rename member variables, move to using a struct

* Revert changes b/c clion thought it was too smart

* Use map instead of vector so we can keep track even if they go out of sight

* Fix launch files, remove dead code

* Split processing into separate file

* Add SE3, add filter, slightly modify clang format, restructure perception

* Filtered positioning for arucos in 3D space working, refactoring

* Fix formatting

* Refactor out SE3 transform function

* Add more to SE3, continue refactor

* Name median mean filter, cleanup se3 names

* Use eigen for implementation of se3

* Use tf tree instead of matrix multiplication

* Minor documentation

* Update README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Put ARUCO tags in the tf tree
5 participants